package com.ruoyi.att.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 设备对象 dm_devices
 * 
 * @author ruoyi
 * @date 2022-10-25
 */
public class DmDevices extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键Id */
    private Long id;

    /** 设备编号（IOT设备序列号） */
    @Excel(name = "设备编号", readConverterExp = "I=OT设备序列号")
    private String deviceno;

    /** IOT设备编号 */
    @Excel(name = "IOT设备编号")
    private String devicenum;

    /** 设备品牌:对应表bsm_dictionarys */
    @Excel(name = "设备品牌:对应表bsm_dictionarys")
    private String devicebrand;

    /** 设备类型：对应表bsm_dictionarys */
    @Excel(name = "设备类型：对应表bsm_dictionarys")
    private String devicetype;

    /** 服务商 */
    @Excel(name = "服务商")
    private String serviceprovider;

    /** 识别等级：1=一级，2=二级，3=三级 */
    @Excel(name = "识别等级：1=一级，2=二级，3=三级")
    private Long identificationlevel;

    /** 识别阈值 */
    @Excel(name = "识别阈值")
    private BigDecimal recognitionthreshold;

    /** 对应版本表id */
    @Excel(name = "对应版本表id")
    private Long versionid;

    /** 设备在线状态：1=在线 2=离线(弃用) */
    @Excel(name = "设备在线状态：1=在线 2=离线(弃用)")
    private Long onstatus;

    /** 设备最新下发时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "设备最新下发时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastdowntime;

    /** 设备在线状态：1=在线 0=离线 2=故障 */
    @Excel(name = "设备在线状态：1=在线 0=离线 2=故障")
    private Integer isonline;

    /** 设备状态： 0-未绑定 1-已绑定 2-已解绑 3-已解绑（退回厂家） 4-未绑定（返回） 5-报废 */
    @Excel(name = "设备状态： 0-未绑定 1-已绑定 2-已解绑 3-已解绑", readConverterExp = "退=回厂家")
    private Long status;

    /** 售出时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "售出时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date saletime;

    /** 租户Id */
    @Excel(name = "租户Id")
    private Long tenantid;

    /** 企业Id(当前所属项目) */
    @Excel(name = "企业Id(当前所属项目)")
    private Long companyid;

    /** 企业名称 */
    @Excel(name = "企业名称")
    private String companyname;

    /** 删除原因 */
    @Excel(name = "删除原因")
    private String deletereason;

    /** 设备密码 */
    @Excel(name = "设备密码")
    private String devicepassword;

    /** 是否已报废 */
    @Excel(name = "是否已报废")
    private String isscrap;

    /** sim卡号 */
    @Excel(name = "sim卡号")
    private String simcardno;

    /** 项目Id(当前所属项目) */
    @Excel(name = "项目Id(当前所属项目)")
    private Long projectid;

    /** 是否删除 */
    @Excel(name = "是否删除")
    private String isdeleted;

    /** 删除人 */
    @Excel(name = "删除人")
    private Long deleteby;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deletetime;

    /** 项目ID所属表，2为实名制 */
    @Excel(name = "项目ID所属表，2为实名制")
    private Integer projectby;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setDeviceno(String deviceno) 
    {
        this.deviceno = deviceno;
    }

    public String getDeviceno() 
    {
        return deviceno;
    }
    public void setDevicenum(String devicenum) 
    {
        this.devicenum = devicenum;
    }

    public String getDevicenum() 
    {
        return devicenum;
    }
    public void setDevicebrand(String devicebrand) 
    {
        this.devicebrand = devicebrand;
    }

    public String getDevicebrand() 
    {
        return devicebrand;
    }
    public void setDevicetype(String devicetype) 
    {
        this.devicetype = devicetype;
    }

    public String getDevicetype() 
    {
        return devicetype;
    }
    public void setServiceprovider(String serviceprovider) 
    {
        this.serviceprovider = serviceprovider;
    }

    public String getServiceprovider() 
    {
        return serviceprovider;
    }
    public void setIdentificationlevel(Long identificationlevel) 
    {
        this.identificationlevel = identificationlevel;
    }

    public Long getIdentificationlevel() 
    {
        return identificationlevel;
    }
    public void setRecognitionthreshold(BigDecimal recognitionthreshold) 
    {
        this.recognitionthreshold = recognitionthreshold;
    }

    public BigDecimal getRecognitionthreshold() 
    {
        return recognitionthreshold;
    }
    public void setVersionid(Long versionid) 
    {
        this.versionid = versionid;
    }

    public Long getVersionid() 
    {
        return versionid;
    }
    public void setOnstatus(Long onstatus) 
    {
        this.onstatus = onstatus;
    }

    public Long getOnstatus() 
    {
        return onstatus;
    }
    public void setLastdowntime(Date lastdowntime) 
    {
        this.lastdowntime = lastdowntime;
    }

    public Date getLastdowntime() 
    {
        return lastdowntime;
    }
    public void setIsonline(Integer isonline) 
    {
        this.isonline = isonline;
    }

    public Integer getIsonline() 
    {
        return isonline;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setSaletime(Date saletime) 
    {
        this.saletime = saletime;
    }

    public Date getSaletime() 
    {
        return saletime;
    }
    public void setTenantid(Long tenantid) 
    {
        this.tenantid = tenantid;
    }

    public Long getTenantid() 
    {
        return tenantid;
    }
    public void setCompanyid(Long companyid) 
    {
        this.companyid = companyid;
    }

    public Long getCompanyid() 
    {
        return companyid;
    }
    public void setCompanyname(String companyname) 
    {
        this.companyname = companyname;
    }

    public String getCompanyname() 
    {
        return companyname;
    }
    public void setDeletereason(String deletereason) 
    {
        this.deletereason = deletereason;
    }

    public String getDeletereason() 
    {
        return deletereason;
    }
    public void setDevicepassword(String devicepassword) 
    {
        this.devicepassword = devicepassword;
    }

    public String getDevicepassword() 
    {
        return devicepassword;
    }
    public void setIsscrap(String isscrap) 
    {
        this.isscrap = isscrap;
    }

    public String getIsscrap() 
    {
        return isscrap;
    }
    public void setSimcardno(String simcardno) 
    {
        this.simcardno = simcardno;
    }

    public String getSimcardno() 
    {
        return simcardno;
    }
    public void setProjectid(Long projectid) 
    {
        this.projectid = projectid;
    }

    public Long getProjectid() 
    {
        return projectid;
    }
    public void setIsdeleted(String isdeleted) 
    {
        this.isdeleted = isdeleted;
    }

    public String getIsdeleted() 
    {
        return isdeleted;
    }
    public void setDeleteby(Long deleteby) 
    {
        this.deleteby = deleteby;
    }

    public Long getDeleteby() 
    {
        return deleteby;
    }
    public void setDeletetime(Date deletetime) 
    {
        this.deletetime = deletetime;
    }

    public Date getDeletetime() 
    {
        return deletetime;
    }
    public void setProjectby(Integer projectby) 
    {
        this.projectby = projectby;
    }

    public Integer getProjectby() 
    {
        return projectby;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deviceno", getDeviceno())
            .append("devicenum", getDevicenum())
            .append("devicebrand", getDevicebrand())
            .append("devicetype", getDevicetype())
            .append("serviceprovider", getServiceprovider())
            .append("identificationlevel", getIdentificationlevel())
            .append("recognitionthreshold", getRecognitionthreshold())
            .append("versionid", getVersionid())
            .append("onstatus", getOnstatus())
            .append("lastdowntime", getLastdowntime())
            .append("isonline", getIsonline())
            .append("status", getStatus())
            .append("saletime", getSaletime())
            .append("tenantid", getTenantid())
            .append("companyid", getCompanyid())
            .append("companyname", getCompanyname())
            .append("deletereason", getDeletereason())
            .append("devicepassword", getDevicepassword())
            .append("isscrap", getIsscrap())
            .append("simcardno", getSimcardno())
            .append("createby", super.getCreateBy())
            .append("projectid", getProjectid())
            .append("createtime", super.getCreateTime())
            .append("updateby", super.getUpdateBy())
            .append("updatetime", super.getUpdateTime())
            .append("isdeleted", getIsdeleted())
            .append("deleteby", getDeleteby())
            .append("deletetime", getDeletetime())
            .append("projectby", getProjectby())
            .toString();
    }
}
